A service is utilized, by providing hardware and software resources to users via a network. Such a service is generically called a cloud service or specifically called Infrastructure as a Service (IaaS). The cloud service includes providing via the Internet or the like to the user an infrastructure on which a computer system is built or operated. The infrastructure refers to a virtual machine and a network. The cloud service is commercially available in a variety of products including Amazon EC2 (trade name), Amazon S3 (trade name), and Nifty Cloud (trade name), for example.
Cloud service providers (hereinafter simply referred to as providers) construct a virtual machine execution apparatus that executes a virtual machine (VM), and connects the virtual machine to a network, such as the Internet. The provider allows a user of the cloud service to use the virtual machine, and gains fees for use.
The provider provides the user of the cloud service (hereinafter simply referred to as user) with virtual machines with a plurality of specification levels ranging from specification level 1 to specification level 11. The higher the level number is, the higher the specification level is, and the usage fee is higher as the specification level of cloud service is higher.
The user may select a desired level from among the level 1 through the level 11 set by the provider, and make use of a cloud service corresponding to the selected level (in other words, makes a business operation in the cloud).
In order to find an appropriate level matching a business operation, the user measures a response to a business operation at the selected level, and raises the level if the response is insufficient, or lowers the level if the response is sufficient. The user themselves is to find an appropriate level.
Business operations may typically vary depending on time, day of the week, and day of the month. It is very difficult for each user to identify time of peak performance, and determine an optimum level matching the peak performance. The user thus simply selects a level in view of predicted peak performance.
However, if the level is selected in view of the predicted peak performance, a high level is naturally selected. As a result, the usage fee becomes high, incurring overhead. In the currently available cloud services, the usage fee of each level is determined depending on the specifications of a central processing unit (CPU) and a memory assigned to a virtual machine. For example, as the level is high, a clock count of the CPU, a memory capacity of the memory, and a network band are increased. A higher usage fee thus results.
The user may now select an intermediate level or a low level taking cost performance considerations into account. In such a case, disk input and output (IO) and network IO may be a bottleneck (IO neck) in a business operation where a great deal of network IO is executed (to process information). If such a bottleneck occurs, the business operation is slowed down. The user may find the business operation stressful.
In a business operation where almost neither disk IO nor the network IO is performed, there is a possibility that the usage fee is high because more specifications (hardware resources) than those actually used for the business operation are assigned to the virtual machine of the user.
As described above, the user has difficulty in appropriately adjusting a variety of hardware resource quantities assigned to the virtual machine while controlling the usage fee below a fee specified by the user themselves.
The hardware resources of the cloud service are subject to a limitation. It is thus desirable that the provider adjusts the hardware resource quantities to be assigned to a plurality of virtual machines used by a plurality of users.
Japanese Laid-open Patent Publication Nos. 2004-503011 and 2011-076506 exist as prior arts.